import { OptionalProps, PrimaryKey, Property } from "@mikro-orm/core";

export abstract class BaseEntity {
  [OptionalProps]?: "id" | "createdAt" | "updatedAt";

  @PrimaryKey({ type: "number" })
  id!: number;

  @Property({ type: "datetime" })
  createdAt = new Date();

  @Property({ type: "datetime", onUpdate: () => new Date() })
  updatedAt = new Date();
}
